package com.tedu.api.thread;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
 * 创建线程---第三种方案，匿名内部类【推荐：创建一次】
 * Lambda--JDK1.8推出新版本：简化匿名内部类写法
 * Lambda表达式也叫函数式遍历！ 功能：简化匿名内部类
 *                               简化集合遍历功能
 *                               简化功能方法
 *                               简化IO流功能
 *  Lambda表达式语法：()->{}，属于功能性接口！
 *  () 代表
 *  -> 代表
 *  {} 代表
 *  需求：创建接口  Insert 插排  提供：电
 *       子实现类  Computer 电脑
 *       子类实现接口---完成对象创建【创建一次】
 *       匿名内部类方式完成对象创建
 *       Lambda表达式结构完成对象创建
 */
public class LambadaAPI {
    public static void main(String[] args) {
        //创建插排接口--必须使用子实现类
        //Insert cp=new Computer();  //多态：造型
        // cp.Dian();


        //子实现类--创建一次对象--匿名内部类
     /*   Insert cp=new Insert(){
            public void Dian(long money,char ch) {
                System.out.println("电脑通电了");
            }
        };
   cp.Dian(100,'2');*/

        //使用Lambda表达式--简化方法
        Insert cp=(money,ch)->
                System.out.println();

        cp.Dian(100,'2');
        /** Lambda表达式---匿名内部类【简化方法】--匿名内部类【简化一个子类】【接口创建】
         * () 代表  方法中参数，情况①：无参数，不可以删除
         *                   情况②：有参数，有1个参数,括号删除
         *                   情况③：有参数，有2个参数以上，不可以删除
         *-> 代表 new对象的过程
         * {} 代表 方法中的内容，情况
         *         ①：看方法的返回值 void 空 传入输出语句，删除花括号
         *         2.看方法返回值  Java数据类型  return Java数据类型
         *         【两种：八大基本数据类型|引用类型】
         *         返回值  存在return  不可以删除话括号【推荐】
         *         2.1返回值  不存在return可以删除话括号【不推荐】
         *         3.看方法返回值  返回值集合    不可以删除返回值
         */
    }
}
//创建插排--接口
interface Insert{
    public void Dian(long money,char ch);
}







//创建插排实现类--电脑类
/*class Computer implements Insert{
    public void Dian() {
        System.out.println("电脑通电开机了--");
    }
}*/
